iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0

會想寫這篇主要是因為學校開發的行動 APP 不太好用,而且 APP 本身功能很少,大部分都是跳轉至外部瀏覽器或內嵌網頁的功能,反應速度也很慢。俗話說的好:「長江後浪推前浪」,既然前浪已經沒什麼力氣,也沒有人跳出來的話,那就由我來擔任那個「沒有人」,讓前浪死在沙灘上吧 XD
身為一個小小碼農,剛好也會一點 Java 跟 Kotlin,能做的就是開發一個更好用、更好看的行動 APP,讓各位同學的校園生活變得美好一點點!

自我介紹

Mikucat,一位資訊領域什麼都碰但什麼都不精的萌新,從資安、網路到開發都有接觸,常常挖坑也常常棄坑的懶惰鬼。

  • 很菜的 CTF 選手
  • 逢甲大學宿舍網管
  • 逢甲大學黑客社教學兼網管
  • SITCON 2021 & 2022 講者

文章流程

這一系列不太會出現工具、函式庫使用方式、開發詳細步驟或由淺入深教學,比起技術教學文章,這個系列比較像是開發日誌,紀錄我從規劃到開發一個 Android APP 用到的各種工具、函式庫、知識與方法,並分享其中踩到的坑與心得。

開發環境

  • 開發用筆電
    • AMD R5-5500U
    • Arch Linu + KDE
  • 測試用手機
    • Android 11 + Magisk
  • Android Studio 2022.1.1 Canary 10

專案原始碼

https://github.com/mikucat0309/Open-FCU

大綱

  • 需求擷取與分析
    • 保留原有常用功能
    • 增加有需求功能
  • 開發規劃
  • 逆向工程
    • 網路行為分析
    • APP 反組譯
  • API 測試
    • Insomnia
  • Kotlin 技巧
  • Android Studio 環境建置
    • 功能簡介
    • 擴充元件
    • 建立 Jetpack Compose Project
    • Project 資料夾結構
  • Gradle Kotlin DSL 基礎
    • Gradle 簡介
    • Gradle Kotlin DSL 特色
    • 依賴、擴充元件
  • Coding Style、Formatter 與 Linter
    • Official Coding Style
    • Ktlint
    • Detekt
  • Compose
    • 常用 Composable 元件
    • Modifier
  • Android 概念
    • 常見元件
    • 生命週期
  • Android Debug 工具
    • 開發者工具
    • Logcat
    • HttpCanary
    • Scoop
  • MVVM 概念
    • Model
    • View
    • ViewModel
    • State、StateFlow
    • Observer Pattern
  • Dependency Injection
    • Koin
  • Navigation
    • Voyager
  • Kotlin Coroutine
    • Coroutine with Android Lifecycle
  • HTTP API Client
    • DTO
    • Kotlin Serialization
    • Ktor
  • 版本控制
    • Git
    • Commit
    • Tag
    • Branch
    • Merge
  • GitHub
    • SSH key
    • GPG Sign
    • Issue、Pull Request
  • 單元測試
    • Kotest
    • Mockk
  • Material Design
    • Theme
    • Font、Color
    • Icon
  • UI 設計
    • Figma
  • Widget 與 Shortcut
    • Shortcut
    • Widget
  • 發布 APP
    • APK
    • 簽名
  • CI
    • GitHub Action

下一篇
Day 02 - 需求分析
系列文
關於我用 Compose UI 造新輪子這檔事24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言